don't try to draw more than 32767 segments at a time, since XDrawSegments
authorDavid Odin <dindinx@src.gnome.org>
Mon, 16 Feb 2004 22:59:26 +0000 (22:59 +0000)
committerDavid Odin <dindinx@src.gnome.org>
Mon, 16 Feb 2004 22:59:26 +0000 (22:59 +0000)
* gdk/gdkdraw.c (gdk_draw_segments): don't try to draw more than 32767
segments at a time, since XDrawSegments cannot handle more than this.

fixes bug #122026.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gdk/gdkdraw.c

index f279fd42d1bd5f5c70c3d7ec54fc3f31cd572de3..5c9ee8db83d18f50482743358de8b460b16a30b8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-02-16  DindinX  <david@dindinx.org>
+
+       * gdk/gdkdraw.c (gdk_draw_segments): don't try to draw more than 32767
+       segments at a time, since XDrawSegments cannot handle more than this.
+
+       fixes bug #122026.
+       
 Mon Feb 16 18:26:39 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
 
        * gtk/gtktoolbar.c (gtk_toolbar_set_child_property): Call
index f279fd42d1bd5f5c70c3d7ec54fc3f31cd572de3..5c9ee8db83d18f50482743358de8b460b16a30b8 100644 (file)
@@ -1,3 +1,10 @@
+2004-02-16  DindinX  <david@dindinx.org>
+
+       * gdk/gdkdraw.c (gdk_draw_segments): don't try to draw more than 32767
+       segments at a time, since XDrawSegments cannot handle more than this.
+
+       fixes bug #122026.
+       
 Mon Feb 16 18:26:39 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
 
        * gtk/gtktoolbar.c (gtk_toolbar_set_child_property): Call
index f279fd42d1bd5f5c70c3d7ec54fc3f31cd572de3..5c9ee8db83d18f50482743358de8b460b16a30b8 100644 (file)
@@ -1,3 +1,10 @@
+2004-02-16  DindinX  <david@dindinx.org>
+
+       * gdk/gdkdraw.c (gdk_draw_segments): don't try to draw more than 32767
+       segments at a time, since XDrawSegments cannot handle more than this.
+
+       fixes bug #122026.
+       
 Mon Feb 16 18:26:39 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
 
        * gtk/gtktoolbar.c (gtk_toolbar_set_child_property): Call
index f279fd42d1bd5f5c70c3d7ec54fc3f31cd572de3..5c9ee8db83d18f50482743358de8b460b16a30b8 100644 (file)
@@ -1,3 +1,10 @@
+2004-02-16  DindinX  <david@dindinx.org>
+
+       * gdk/gdkdraw.c (gdk_draw_segments): don't try to draw more than 32767
+       segments at a time, since XDrawSegments cannot handle more than this.
+
+       fixes bug #122026.
+       
 Mon Feb 16 18:26:39 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
 
        * gtk/gtktoolbar.c (gtk_toolbar_set_child_property): Call
index f279fd42d1bd5f5c70c3d7ec54fc3f31cd572de3..5c9ee8db83d18f50482743358de8b460b16a30b8 100644 (file)
@@ -1,3 +1,10 @@
+2004-02-16  DindinX  <david@dindinx.org>
+
+       * gdk/gdkdraw.c (gdk_draw_segments): don't try to draw more than 32767
+       segments at a time, since XDrawSegments cannot handle more than this.
+
+       fixes bug #122026.
+       
 Mon Feb 16 18:26:39 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
 
        * gtk/gtktoolbar.c (gtk_toolbar_set_child_property): Call
index 97905bf5662b782cb39f27b274b857174dca122c..342a6d092603bd424f127de879245bc8004a392d 100644 (file)
@@ -832,6 +832,16 @@ gdk_draw_segments (GdkDrawable *drawable,
   g_return_if_fail (GDK_IS_GC (gc));
   g_return_if_fail (nsegs >= 0);
 
+  while (num_segments >= 32000)
+    {
+      GDK_DRAWABLE_GET_CLASS (drawable)->draw_segments (drawable,
+                                                        gc, 
+                                                        segs,
+                                                        32000);
+      num_segments -= 32000;
+      segments     += 32000;
+    }
+
   GDK_DRAWABLE_GET_CLASS (drawable)->draw_segments (drawable, gc, segs, nsegs);
 }